package com.cy.ppj.service.account;

import com.cy.ppj.model.CacheBean;
import com.cy.ppj.model.dto.account.BrokerUpgradeDTO;
import com.cy.ppj.model.enums.account.BrokerLevel;
import com.cy.ppj.model.vo.front.account.BrokerInfoVO;
import com.cy.ppj.model.vo.front.account.UserLoanStatisticsVO;

import java.math.BigDecimal;
import java.util.Date;

public interface BrokerService {

    BrokerInfoVO queryBrokerInfo(Long userId);

    BrokerInfoVO queryBrokerInfo2(Long userId);

    CacheBean<UserLoanStatisticsVO> queryUserLoanMonthStatisticsInCache(Long userId, Date time);

    CacheBean<UserLoanStatisticsVO> queryUserLoanQuarterStatisticsInCache(Long userId, Date time);

    void queryBrokerUpgradeInfo(BrokerUpgradeDTO brokerUpgrade);

    void upgradeBrokerLevel(Long userId, Date time);

    BigDecimal queryBrokerRate(Long userId);
    
    BigDecimal queryBrokerRate(BrokerLevel brokerLevel);
}
